Automatic Relative Debugging of OpenMP Programs

نویسندگان

  • Gregory Matthews
  • Haoqiang Jin
  • Stephen Johnson
  • Constantinos Ierotheou
چکیده

In this work we show how automatic relative debugging can be used to find differences in computation between a correct serial program and an OpenMP parallel version of that program that does not yield correct results. Backtracking and re-execution are used to determine the first OpenMP parallel region that produces a difference in computation that may lead to an incorrect value the user has indicated. Our approach also lends itself to finding differences between parallel computations, where executing with threads produces expected results but an thread execution does not ( , ). OpenMP programs created using a parallelization tool are addressed by utilizing static analysis and directive information from the tool. Hand-parallelized programs, where OpenMP directives are inserted by the user, are addressed by performing data dependence and directive analysis.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The HPCVL Working Template: A Development Tool for Parallel Programming

This manual explains the structure and usage of the HPCVL Working Template for parallel programming that was developed by Gang Liu. The HPCVL Working Template (in the following abbreviated to HWT) is a set of scripts and routines that provide a simple and portable tool for version maintenance, timing and automatic relative debugging of programs that are designed to run on parallel computers. Th...

متن کامل

Overcoming Distributed Debugging Challenges in the MPI+OpenMP Programming Model

There is a general consensus that exascale computing will employ a wide range of programming models to harness the many levels of architectural parallelism [1], including models to exploit parallelism in CPUs and devices, such as OpenMP. To aid programmers in managing the complexities arising from multiple programming models, debugging tools must enable programmers to identify errors at the lev...

متن کامل

Static Interprocedural Slicing of Shared Memory Parallel Programs

Software tools for program debugging, software testing, software maintenance, and program understanding have all effectively utilized static program slicing techniques. In this paper, we present an approach to extend this capability to explicitly parallel shared memory programs written using the OpenMP standard. In particular, interprocedural static program slicing of OpenMP programs is enabled...

متن کامل

Empirical Comparison of Filtering Techniques for On-the-fly Data Race Detection in OpenMP Programs

It is a well-known that data races in implicit threading applications, such as OpenMP programs, are the most notorious class of concurrency bugs, because they may lead to unpredictable results of the program. The main drawback of on-the-fly data race detection techniques is the heavy additional overheads for analyzing every memory operations and thread operations, such as load, store, fork, and...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003